C++ 中的中心七边形数

2025年5月24日 | 阅读 7 分钟

中心七边形数是七边形数的一种,它具有七边形的形状和一个中心点。规则七边形数通过添加层来形成七边形,而中心七边形数则对称地从一个点向外生长。中心七边形序列中的每一项都围绕前一项添加一个新的七边形。中心七边形数与 三角形数平方数、五边形数和六边形数有关。

下面的公式显示了如何找到第 n 个中心七边形数

C(n) = (7 * n * (n - 1)) / 2 + 1

在此公式中,n 是序列中的项的位置。

前几个中心七边形数是

1, 8, 22, 43, 71, 106, 148, 197, 253, 316, ...

如果我们仔细观察上面的序列,我们会注意到,随着 n 的增加,我们的数字会变大,如果我们连接每个情况下的点(即数字),我们总是会得到一个中心有一个点的七边形。

这类数字(中心七边形数)在数学上具有重要意义,因为它们有助于我们以结构化的方式进行计数。

然而,它们不仅出现在排列事物中;中心七边形数也可能出现在其他分支中,例如涉及数学的研究,这些研究包含这些数字。了解物体如何对称排列是中心七边形数在数学研究的各种假设中至关重要的原因之一。涉及模式的问题通常为新发现提供了空间。有些模式非常明显,无需解释即可理解。有些模式很常见,但我们无法解释。数字序列是解释这类模式最简单的例子之一。

中心七边形数的性质

关于中心七边形数要记住的一个主要事情是它们的增长方式。序列中的数字每次都会以不同的量增加或减少,但这种差异总是遵循一个模式。

如果我们取一个接一个的数字,然后计算它们之间的差值,我们会得到以下结果

  • 数字之间的差值每次增加七:7、14、21、28、35,依此类推。

其他形数以特定方式与中心七边形数相关。这些形数被称为中心数,因为它们都可以用排列成正多边形形状并带有一个中心点的点来表示。这个家族的其他成员是中心三角形数、平方数、五边形数、六边形数和八边形数。这些中的每一个都像七边形数一样,可以用自己的公式计算。然而,根据公式来自哪个多边形形状(三角形有三条边,正方形有四条边等),决定了数字增长的速度。中心七边形数的增长比中心八边形数慢,但比中心五边形数快。通过进行这些比较,我们可以学到一些关于各种模式如何有序发展的重要知识。

在数论中,关于中心七边形数有一些有趣的事情要说。当我们查看其中一个序列时,我们会发现它的某些项是质数。质数是指除了 1 和它本身之外不能被任何其他数字整除的数。

算法与实现

中心七边形数的计算很容易,因为它们有简单的数学公式。在 C++ 等语言中,我们可以通过创建一个函数来找到这些数字,该函数在我们输入任何数字(第 n 项)时都会给出预期的结果。该公式是二次的,这意味着计算机需要很长时间才能获得结果。

  • 有不止一种方法可以找到这些数字,但它们都使用迭代或重复结构,但不使用递归,因为递归有时可能效率低下。
  • 如果我们想逐个显示这些数字,而不需要为我们获得的每个新数字使用公式(在得到第 n 项的值后再使用),那么我们必须使用循环。
  • 另一件需要注意的事情是,任何七边形数与紧随其后的数字之间的差值始终是一个算术序列(一个具有公差的序列)。
  • 查找中心七边形数有助于解决与将物体组合成特定形状以及制作模型或图案相关的问题。

使用递归方法是计算中心七边形数的另一种方法。由于每个项与下一项之间的差值遵循特定模式,因此可以定义一个递归函数,该函数根据前一项给出当前项。尽管这种计算方法不如前者快,但它清楚地展示了序列是如何构建的。

虽然我们可能不会每天都使用中心六边形数,就像我们使用百分比或分数一样,但它们值得探索,因为它们出现在数学的不同领域。如果我们了解事物如何随时间变化,我们可以学到更多关于模式的知识。这类数字不仅被单独研究,而且还与其他类型的多边形数有关。

示例

让我们举一个例子来说明 C++ 中的中心七边形数

输出

Enter the number of centred heptagonal numbers to generate: 10

Centred Heptagonal Numbers Sequence:
    N        Number      Difference     Prime?
-------------------------------------------------------------
    1             1              0        No
    2             8              7        No
    3            22             14        No
    4            43             21        Yes
    5            71             28        Yes
    6           106             35        No
    7           148             42        No
    8           197             49        Yes
    9           253             56        No
   10           316             63        No

Computing nth term using recursion (Example for N = 10):
Recursive Centred Heptagonal Number (10) = 316   

结论

总而言之,中心七边形数是一类独特的形数,它们将数学中将数字表示为形状的概念向前推进。计算这些数字的公式是 (7 * n * (n - 1)) / 2 + 1。

这些数字之所以特别,有几个原因。例如,它们与其他可以绘制成形状的特殊数字有关。有时,中心七边形数也是质数。我们可以用 C++ 语言编写一个计算机程序来快速找到中心七边形数。编写此程序有两种方法:迭代和递归。

但是,当我们使用递归方法时,它会一个接一个地计算。如果我们只想检查一个中心七边形数是否为质数,我们不需要为此创建一个单独的函数。我们也可以将这部分包含在我们的主函数中。

这些七边形中心数不仅存在于理论中,而且有许多现实世界的应用。它们被用于许多不同的领域,如数学、编码、数据科学等。如果我们在一张图表中说明这些数字以及连续项之间的差值,就会出现有趣的模式。这些模式一直是人们着迷的对象,并帮助了各行业的专家。